home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
201-225
/
disk_222
/
plplot
/
examples
/
example03.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
1KB
|
69 lines
/* Illustration of 1-1 scaling for polar plot */
#include <stdio.h>
#include <math.h>
main()
{
int i,j;
float dtr, theta, dx, dy, r;
char text[3];
float x0[361], y0[361];
float x[361], y[361];
dtr = 3.141592654/180.0;
for (i=0; i<=360; i++) {
x0[i] = cos(dtr * i);
y0[i] = sin(dtr * i);
}
plstar(1,1);
/* Set up viewport and window, but do not draw box */
plenv(-1.3,1.3,-1.3,1.3,1,-2);
for (i=1; i<=10; i++) {
for (j=0; j<=360; j++) {
x[j] = 0.1*i*x0[j];
y[j] = 0.1*i*y0[j];
}
/* Draw circles for polar grid */
plline(361,x,y);
}
for (i=0; i<=11; i++) {
theta = 30.0*i;
dx = cos(dtr*theta);
dy = sin(dtr*theta);
/* Draw radial spokes for polar grid */
pljoin(0.0,0.0,dx,dy);
sprintf(text,"%d",round(theta));
/* Write labels for angle */
if (dx >= 0)
plptex(dx,dy,dx,dy,-0.15,text);
else
plptex(dx,dy,-dx,-dy,1.15,text);
}
/* Draw the graph */
for (i=0; i<=360; i++) {
r = sin(dtr*(5*i));
x[i] = x0[i] * r;
y[i] = y0[i] * r;
}
plline(361,x,y);
plmtex("t",2.0,0.5,0.5,"\\frPLPLOT Example 3 - r(\\gh)=sin 5\\gh");
/* Close the plot at end */
plend();
}